package com.ruoyi.admin.service;

import com.ruoyi.admin.domain.entity.ReturnGoodsModel;
import com.ruoyi.admin.domain.vo.request.returnGood.ReturnGoodsAddRequest;
import com.ruoyi.admin.domain.vo.request.returnGood.ReturnGoodsJoinRequest;
import com.ruoyi.admin.domain.vo.response.returnGood.ReturnGoodsPageResponse;
import com.ruoyi.admin.domain.vo.response.returnGood.ReturnGoodsResponse;
import com.ruoyi.common.api.Result;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

/**
 * 退货表(ReturnGoods) Service接口
 *
 * @author jianhan
 * @date 2023-01-31 09:53:25
 */
public interface ReturnGoodsService extends IService<ReturnGoodsModel> {

    /**
     * 根据id获取单条数据信息
     *
     * @param returnGoodsId 退货表id
     * @return 单条数据信息
     * @author jianhan
     * @date 2023-01-31 09:53:25
     **/
    Result<ReturnGoodsResponse> getId(Long returnGoodsId);

    /**
     * 分页获取列表
     *
     * @param page             分页信息
     * @param returnGoodsJoinRequest 查询条件
     * @return 单页数据
     * @author jianhan
     * @date 2023-01-31 09:53:25
     **/
    Result<ReturnGoodsPageResponse> page(Page<ReturnGoodsJoinRequest> page, ReturnGoodsJoinRequest returnGoodsJoinRequest);

    /**
     * 添加退货表
     *
     * @param returnGoodsModel 退货表信息
     * @return 添加结果
     * @author jianhan
     * @date 2023-01-31 09:53:25
     **/
    Result add(ReturnGoodsAddRequest returnGoodsAddRequest);

    /**
     * 修改退货表
     *
     * @param returnGoodsModel 退货表信息
     * @return 修改结果
     * @author jianhan
     * @date 2023-01-31 09:53:25
     **/
    Result update(ReturnGoodsModel returnGoodsModel);

    /**
     * 删除退货表
     *
     * @param returnGoodsId 退货表id
     * @return 删除结果
     * @author jianhan
     * @date 2023-01-31 09:53:25
     **/
    Boolean delete(Long returnGoodsId);

}
